package com.opal.system.service;

import com.opal.domain.ReturnMessageData;
import com.opal.model.DataGridData;
import com.opal.system.entity.*;
import com.opal.system.entity.table.BdDefdoc;
import com.opal.system.entity.table.BdPsndoc;
import com.opal.system.entity.table.OrgDeptExtend;
import com.opal.system.entity.table.OrgHrorg;

import java.util.List;

public interface SignCardSingleService {
	/**
	 * 查询所有的组织
	 * @return
	 */
	List<OrgHrorg> selectAllOrgHrorgService() ;
	
	/**
	 * 查询部门：只取值部门名称和部门的名字
	 * @return
	 */
	List<OrgDeptExtend> selectAllOrgDeptService();
	
	/**
	 * 查询部门：根据组织id查询
	 * @return
	 */
	List<OrgDeptExtend> selectOrgDeptByPkHrorgService(String pkHrorg);

	/**
	 * 查询部门：根据注解id查询
	 * @return
	 */
	List<OrgDeptExtend> selectOrgDeptById(String id);

	List<BdPsndoc> getDeptPsndocService(List<String> pkDepts);
	
	/**
	 * 根据条件查询签卡
	 * @param conditionSelectTbmSignhEntit
	 * @return
	 */
	DataGridData conditionSelectTbmSignhService(ConditionSelectTbmSignhEntity conditionSelectTbmSignhEntit);
	
	/**
	 * 根据表签卡单主表获取子表信息
	 * @param tbmSignhExtend
	 * @return
	 */
	DataGridData getTbmSignbByPkSignhService(TbmSignhExtend tbmSignhExtend);
	
	/**
	 * 删除签卡单子表信息
	 * @param tbmSignbExtends
	 * @return
	 */
	DataGridData deleteTbmSignbService(List<TbmSignbExtend> tbmSignbExtends);
	
	/**
	 * 删除签卡单主表
	 * @param tbmSignhExtends
	 * @return
	 */
	DataGridData deleteTbmSignhService(List<TbmSignhExtend> tbmSignhExtends);
	
	/**
	 * 查询签卡原因
	 * @return
	 */
	List<BdDefdoc> getBdDefdocService();
	
	/**
	 * 修改签卡详情内容
	 * @param tbmSignbExtend
	 * @return
	 */
	ReturnMessageData updateTbmSignbByPkSignbService(TbmSignbExtend tbmSignbExtend);

}
